package com.ybkj.daijia.server.sp;

import java.io.Serializable;
import java.util.Date;

/**
 * BJ 订单补传 szmodel 订单补传(DDBC)
 *
 * @author Sakura
 */
public class DdbcMessage implements Serializable {

    private static final long serialVersionUID = -788314595687865082L;

    /**
     * 无用字段
     */
    private Long id;// 订单补传ID
    private String appKey;
    private String type = Type.MOREQ_DDBC;


    /**
     * BJ 订单补传（MOREQ_DDBC）
     */
    private String orderNo;// 订单号

    private String orderType;// 订单状态,固定字符,WYD无应答；DPZ调派中；SS司机爽约；CS乘客爽约；QX调派前乘客取消；HX调派后乘客取消；SQ司机取消；WC完成

    private String passengerName;// 乘客称谓

    private String passengerGender;// 乘客性别,固定字符,MALE男；FEMALE女；

    private String passengerTel;// 乘客电话

    private String useLocale;// 用车地点

    private Double useLon;// 用车地点经度,Double（BD02），精确至小数点后6位

    private Double useLat;// 用车地点纬度,Double（BD02），精确至小数点后6位

    private Date useTime;// 用车时间,yyyy-MM-ddHH:mm:ss

    private Date orderTime;// 订单时间,yyyy-MM-ddHH:mm:ss

    private String destination;// 目的地

    private Double destLon;// 目的地经度,Double(BD02)，精确至小数点后6位

    private Double destLat;// 目的地纬度,Double(BD02)，精确至小数点后6位

    private String passengerDemand;// 乘客备注

    private String isVoice;// 是否是语音订单,固定字符,Y语音订单；N文本订单

    private String voiceUrl;// 语音地址

    private String identityNumber;// 乘客身份证号

    private String passengerType;// 乘客类型GP 正常乘客DP 残疾乘客

    private Date dispatchTime;// 派单时间yyyy-MM-ddHH:mm:ss

    private String bespeakType;// 订单类型,固定字符串,BESPEAK预约,IMMEDIATE即时SHUTTLE接送机,DAILY_RENT日租半日租

    private String adminCode;// 上车地点行政区划编号

    private String driverName;// 司机姓名

    private String driverIdCode;// 网约车驾驶员证号,即：身份证号

    private String driverTel;// 司机电话

    private String vehicleLicense;// 车牌号码,去除“京”，字母大写

    private Double vehicleLon;// 派单车辆经度,Double（BD02），精确至小数点后6位

    private Double vehicleLat;// 派单车辆纬度,Double（BD02），精确至小数点后6位

    private Double realVehicleLon;// 车辆实际出发地点经度 ,Double（BD02），精确至小数点后6位

    private Double realVehicleLat;// 车辆实际出发地点纬度 ,Double（BD02），精确至小数点后6位

    private String realOnLocation;// 实际上车地点

    private String realOffLocation;// 实际下车地点

    private Double destVehLon;// 完成时车辆经度,Double（BD02），精确至小数点后6位

    private Double destVehLat;// 完成时车辆纬度,Double（BD02），精确至小数点后6位

    private Date onTime;// 上车时间,yyyy-MM-ddHH:mm:ss

    private Date offTime;// 下车时间,yyyy-MM-ddHH:mm:ss

    private Double noneMil;// 空驶里程,上次运营结束（乘客下车）到本次运营司机接单之间的里程,Double，公里，精确至小数点后2位

    private Double waitMil;// 待客里程,本次运营接收订单（司机抢单）到本次运营开始（乘客上车）之间的里程,Double，公里，精确至小数点后2位

    private Double passengerMil;// 载客里程,从乘客上车至乘客下车之间的里程,Double，公里，精确至小数点后2位

    private Double passengerTime;// 载客时间,从乘客上车至乘客下车经历的时间,Double，分钟，精确至小数点后2位

    private Double lowSpeedTime;// 低速时长,运营中低速行驶的时间（低速标准以平台公司定义为准）,Double，分钟，精确至小数点后2位

    private Double waitingTime;// 等候时间,司机到达指定地点至乘客上车经历的时间,Double，分钟，精确至小数点后2位

    private Double cash;// 现金支付金额,Double，元，无填0，精确至小数点后2位

    private Double elePay;// 电子支付金额,包括第三方电子支付、平台账户余额支付等,Double，元，无填0，精确至小数点后2位

    private Double posPay;// Pos机支付金额,Double，元，无填0，精确至小数点后2位

    private Double paid;// 实收金额,应收-优惠金额,Double，元，无填0，精确至小数点后2位

    private Double receivable;// 应收金额,支付金额+优惠金额（支付金额：现金支付金额+电子支付金额+POS机支付金额）,Double，元，无填0，精确至小数点后2位

    private Double bargain;// 优惠金额,因使用优惠券或折扣卷等产生的优惠金额,Double，元，无填0，精确至小数点后2位

    private Double callCharge;// 电召费/预约服务费,乘客下单时单独增加的一次性加价费用（不包括倍数加价）,Double，元，无填0，精确至小数点后2位

    private Double waitingCharge;// 等候费用,由等候时间产生的费用,Double，元，精确至小数点后2位

    private Double extraCharge;// 附加费,（如：高速费、停车费等运营过程中产生的费用）,Double，元，无填0，精确至小数点后2位

    private Double otherExtraCharge;// 其他附加费用,（如：清洁费、出城费、取消费等其他附加费用）,Double，元，无填0，精确至小数点后2位

    private Double rushAddCharge;// 高峰时段时间加价金额,如：早高峰7:00-9:00如：晚高峰17:00-19:00,Double，元，无填0，精确至小数点后2位

    private Double nightAddCharge;// 夜间时段里程加价金额,如：23:00-5:00,Double，元，无填0，精确至小数点后2位

    private Double dynamicsAddCharge;// 动态加价金额,由加价倍数产生的加价金额,Double，元，无填0，精确至小数点后2位

    private Double specialTimes;// 特殊情况加价倍数,特殊情况运价加倍，如：极端天气消费金额为普通天气的1.2倍,Double，精确至小数点后2位,无填默认值1.00

    private String specialTimesNote;// 特殊情况加价倍数说明

    private Double driverIncome;// 司机实收金额,司机在本次订单中的实际收入（以司机端显示金额为准）,Double，元，精确至小数点后2位

    private Double driverReceivable;// 司机应收金额,司机在本次订单中的应收金额（以司机端显示金额为准）,Double，元，精确至小数点后2位

    private String transPriceType;// 运价类型 ,对应运价信息（如果该订单涉及到多个运价类型，使用“|”分隔，总长最大64位）,与接口运价信息（MOREQ_YJXX）记录对应

    private String posAgency;// Pos机收单机构

    private String ePay;// 电子支付机构

    private String calStatus;// 结算状态,0：未结算1：已结算

    private Date calTime;// 结算时间,yyyy-MM-ddHH:mm:ss

    private String billStatus;// 发票状态,0：未开1：已开

    /**
     * szmodel 订单补传(DDBC)
     */
    //private String orderId;//订单号（与orderNo重复）

    //private String departTime;//用车时间（与useTime重复）

    //private String orderTime;//订单时间（重复）

    private String orderStatus;//订单状态

    //private String passengerNote;//乘客备注（与passengerDemand重复）

    //private String departure;//出发地详细地址（与useLocale重复）

    //private String depLongitude;//用车经度（与useLon重复）

    //private String depLatitude;//用车纬度（与useLat重复）

    //private String destination;//目的地地址（重复）

    //private String destLongitude;//目的地经度（与destLon重复）

    //private String destLatitude;//目的地纬度（与destLat重复）

    private String encrypt;//坐标加密标识

    //private String fareType;//运价类型编码（与transPriceType重复）

    //private String passengerName;//乘客称谓（重复）

    //private String passengerGender;//乘客性别（重复）

    //private String passengerTel;//乘客电话（重复）

    //private String bespeakType;//预约类型（重复）

    //private String isVoice;//是否语音订单（重复）

    //private String voiceUrl;//语音存储地址（重复）

    private String cancelTime;//撤销时间

    private String operator;//撤销发起方

    private String cancelTypeCode;//撤销类型代码

    private String cancelReason;//撤销原因

    private String driCertNo;//网约车驾驶员证证号（与driverIdCode重复）

    private String vehCertNo;//网约车车辆运输证号

    //private String driverName;//驾驶员姓名（重复）

    //private String idCode;//身份证号

    //private String driverPhone;//司机电话（与driverTel重复）

    //private String vehicleNo;//车牌号（与vehicleLicense重复）

    //private String distributeTime;//派单成功时间（与dispatchTime重复）

    private SjwzMessage sjwzMessage;//派单成功车辆位置信息

    public DdbcMessage() {
        super();

    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getAppKey() {
        return appKey;
    }

    public void setAppKey(String appKey) {
        this.appKey = appKey;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public String getOrderType() {
        return orderType;
    }

    public void setOrderType(String orderType) {
        this.orderType = orderType;
    }

    public String getPassengerName() {
        return passengerName;
    }

    public void setPassengerName(String passengerName) {
        this.passengerName = passengerName;
    }

    public String getPassengerGender() {
        return passengerGender;
    }

    public void setPassengerGender(String passengerGender) {
        this.passengerGender = passengerGender;
    }

    public String getPassengerTel() {
        return passengerTel;
    }

    public void setPassengerTel(String passengerTel) {
        this.passengerTel = passengerTel;
    }

    public String getUseLocale() {
        return useLocale;
    }

    public void setUseLocale(String useLocale) {
        this.useLocale = useLocale;
    }

    public Double getUseLon() {
        return useLon;
    }

    public void setUseLon(Double useLon) {
        this.useLon = useLon;
    }

    public Double getUseLat() {
        return useLat;
    }

    public void setUseLat(Double useLat) {
        this.useLat = useLat;
    }

    public Date getUseTime() {
        return useTime;
    }

    public void setUseTime(Date useTime) {
        this.useTime = useTime;
    }

    public Date getOrderTime() {
        return orderTime;
    }

    public void setOrderTime(Date orderTime) {
        this.orderTime = orderTime;
    }

    public String getDestination() {
        return destination;
    }

    public void setDestination(String destination) {
        this.destination = destination;
    }

    public Double getDestLon() {
        return destLon;
    }

    public void setDestLon(Double destLon) {
        this.destLon = destLon;
    }

    public Double getDestLat() {
        return destLat;
    }

    public void setDestLat(Double destLat) {
        this.destLat = destLat;
    }

    public String getPassengerDemand() {
        return passengerDemand;
    }

    public void setPassengerDemand(String passengerDemand) {
        this.passengerDemand = passengerDemand;
    }

    public String getIsVoice() {
        return isVoice;
    }

    public void setIsVoice(String isVoice) {
        this.isVoice = isVoice;
    }

    public String getVoiceUrl() {
        return voiceUrl;
    }

    public void setVoiceUrl(String voiceUrl) {
        this.voiceUrl = voiceUrl;
    }

    public String getIdentityNumber() {
        return identityNumber;
    }

    public void setIdentityNumber(String identityNumber) {
        this.identityNumber = identityNumber;
    }

    public String getPassengerType() {
        return passengerType;
    }

    public void setPassengerType(String passengerType) {
        this.passengerType = passengerType;
    }

    public Date getDispatchTime() {
        return dispatchTime;
    }

    public void setDispatchTime(Date dispatchTime) {
        this.dispatchTime = dispatchTime;
    }

    public String getBespeakType() {
        return bespeakType;
    }

    public void setBespeakType(String bespeakType) {
        this.bespeakType = bespeakType;
    }

    public String getAdminCode() {
        return adminCode;
    }

    public void setAdminCode(String adminCode) {
        this.adminCode = adminCode;
    }

    public String getDriverName() {
        return driverName;
    }

    public void setDriverName(String driverName) {
        this.driverName = driverName;
    }

    public String getDriverIdCode() {
        return driverIdCode;
    }

    public void setDriverIdCode(String driverIdCode) {
        this.driverIdCode = driverIdCode;
    }

    public String getDriverTel() {
        return driverTel;
    }

    public void setDriverTel(String driverTel) {
        this.driverTel = driverTel;
    }

    public String getVehicleLicense() {
        return vehicleLicense;
    }

    public void setVehicleLicense(String vehicleLicense) {
        this.vehicleLicense = vehicleLicense;
    }

    public Double getVehicleLon() {
        return vehicleLon;
    }

    public void setVehicleLon(Double vehicleLon) {
        this.vehicleLon = vehicleLon;
    }

    public Double getVehicleLat() {
        return vehicleLat;
    }

    public void setVehicleLat(Double vehicleLat) {
        this.vehicleLat = vehicleLat;
    }

    public Double getRealVehicleLon() {
        return realVehicleLon;
    }

    public void setRealVehicleLon(Double realVehicleLon) {
        this.realVehicleLon = realVehicleLon;
    }

    public Double getRealVehicleLat() {
        return realVehicleLat;
    }

    public void setRealVehicleLat(Double realVehicleLat) {
        this.realVehicleLat = realVehicleLat;
    }

    public String getRealOnLocation() {
        return realOnLocation;
    }

    public void setRealOnLocation(String realOnLocation) {
        this.realOnLocation = realOnLocation;
    }

    public String getRealOffLocation() {
        return realOffLocation;
    }

    public void setRealOffLocation(String realOffLocation) {
        this.realOffLocation = realOffLocation;
    }

    public Double getDestVehLon() {
        return destVehLon;
    }

    public void setDestVehLon(Double destVehLon) {
        this.destVehLon = destVehLon;
    }

    public Double getDestVehLat() {
        return destVehLat;
    }

    public void setDestVehLat(Double destVehLat) {
        this.destVehLat = destVehLat;
    }

    public Date getOnTime() {
        return onTime;
    }

    public void setOnTime(Date onTime) {
        this.onTime = onTime;
    }

    public Date getOffTime() {
        return offTime;
    }

    public void setOffTime(Date offTime) {
        this.offTime = offTime;
    }

    public Double getNoneMil() {
        return noneMil;
    }

    public void setNoneMil(Double noneMil) {
        this.noneMil = noneMil;
    }

    public Double getWaitMil() {
        return waitMil;
    }

    public void setWaitMil(Double waitMil) {
        this.waitMil = waitMil;
    }

    public Double getPassengerMil() {
        return passengerMil;
    }

    public void setPassengerMil(Double passengerMil) {
        this.passengerMil = passengerMil;
    }

    public Double getPassengerTime() {
        return passengerTime;
    }

    public void setPassengerTime(Double passengerTime) {
        this.passengerTime = passengerTime;
    }

    public Double getLowSpeedTime() {
        return lowSpeedTime;
    }

    public void setLowSpeedTime(Double lowSpeedTime) {
        this.lowSpeedTime = lowSpeedTime;
    }

    public Double getWaitingTime() {
        return waitingTime;
    }

    public void setWaitingTime(Double waitingTime) {
        this.waitingTime = waitingTime;
    }

    public Double getCash() {
        return cash;
    }

    public void setCash(Double cash) {
        this.cash = cash;
    }

    public Double getElePay() {
        return elePay;
    }

    public void setElePay(Double elePay) {
        this.elePay = elePay;
    }

    public Double getPosPay() {
        return posPay;
    }

    public void setPosPay(Double posPay) {
        this.posPay = posPay;
    }

    public Double getPaid() {
        return paid;
    }

    public void setPaid(Double paid) {
        this.paid = paid;
    }

    public Double getReceivable() {
        return receivable;
    }

    public void setReceivable(Double receivable) {
        this.receivable = receivable;
    }

    public Double getBargain() {
        return bargain;
    }

    public void setBargain(Double bargain) {
        this.bargain = bargain;
    }

    public Double getCallCharge() {
        return callCharge;
    }

    public void setCallCharge(Double callCharge) {
        this.callCharge = callCharge;
    }

    public Double getWaitingCharge() {
        return waitingCharge;
    }

    public void setWaitingCharge(Double waitingCharge) {
        this.waitingCharge = waitingCharge;
    }

    public Double getExtraCharge() {
        return extraCharge;
    }

    public void setExtraCharge(Double extraCharge) {
        this.extraCharge = extraCharge;
    }

    public Double getOtherExtraCharge() {
        return otherExtraCharge;
    }

    public void setOtherExtraCharge(Double otherExtraCharge) {
        this.otherExtraCharge = otherExtraCharge;
    }

    public Double getRushAddCharge() {
        return rushAddCharge;
    }

    public void setRushAddCharge(Double rushAddCharge) {
        this.rushAddCharge = rushAddCharge;
    }

    public Double getNightAddCharge() {
        return nightAddCharge;
    }

    public void setNightAddCharge(Double nightAddCharge) {
        this.nightAddCharge = nightAddCharge;
    }

    public Double getDynamicsAddCharge() {
        return dynamicsAddCharge;
    }

    public void setDynamicsAddCharge(Double dynamicsAddCharge) {
        this.dynamicsAddCharge = dynamicsAddCharge;
    }

    public Double getSpecialTimes() {
        return specialTimes;
    }

    public void setSpecialTimes(Double specialTimes) {
        this.specialTimes = specialTimes;
    }

    public String getSpecialTimesNote() {
        return specialTimesNote;
    }

    public void setSpecialTimesNote(String specialTimesNote) {
        this.specialTimesNote = specialTimesNote;
    }

    public Double getDriverIncome() {
        return driverIncome;
    }

    public void setDriverIncome(Double driverIncome) {
        this.driverIncome = driverIncome;
    }

    public Double getDriverReceivable() {
        return driverReceivable;
    }

    public void setDriverReceivable(Double driverReceivable) {
        this.driverReceivable = driverReceivable;
    }

    public String getTransPriceType() {
        return transPriceType;
    }

    public void setTransPriceType(String transPriceType) {
        this.transPriceType = transPriceType;
    }

    public String getPosAgency() {
        return posAgency;
    }

    public void setPosAgency(String posAgency) {
        this.posAgency = posAgency;
    }

    public String getePay() {
        return ePay;
    }

    public void setePay(String ePay) {
        this.ePay = ePay;
    }

    public String getCalStatus() {
        return calStatus;
    }

    public void setCalStatus(String calStatus) {
        this.calStatus = calStatus;
    }

    public Date getCalTime() {
        return calTime;
    }

    public void setCalTime(Date calTime) {
        this.calTime = calTime;
    }

    public String getBillStatus() {
        return billStatus;
    }

    public void setBillStatus(String billStatus) {
        this.billStatus = billStatus;
    }

    public String getOrderStatus() {
        return orderStatus;
    }

    public void setOrderStatus(String orderStatus) {
        this.orderStatus = orderStatus;
    }

    public String getEncrypt() {
        return encrypt;
    }

    public void setEncrypt(String encrypt) {
        this.encrypt = encrypt;
    }

    public String getCancelTime() {
        return cancelTime;
    }

    public void setCancelTime(String cancelTime) {
        this.cancelTime = cancelTime;
    }

    public String getOperator() {
        return operator;
    }

    public void setOperator(String operator) {
        this.operator = operator;
    }

    public String getCancelTypeCode() {
        return cancelTypeCode;
    }

    public void setCancelTypeCode(String cancelTypeCode) {
        this.cancelTypeCode = cancelTypeCode;
    }

    public String getCancelReason() {
        return cancelReason;
    }

    public void setCancelReason(String cancelReason) {
        this.cancelReason = cancelReason;
    }

    public String getVehCertNo() {
        return vehCertNo;
    }

    public void setVehCertNo(String vehCertNo) {
        this.vehCertNo = vehCertNo;
    }

    public SjwzMessage getSjwzMessage() {
        return sjwzMessage;
    }

    public void setSjwzMessage(SjwzMessage sjwzMessage) {
        this.sjwzMessage = sjwzMessage;
    }

    public String getDriCertNo() {
        return driCertNo;
    }

    public void setDriCertNo(String driCertNo) {
        this.driCertNo = driCertNo;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

}
